bump rain-deploy 0.1.10 -> 0.1.11 - #30
Merged
Merged
Conversation
Not a version-number change. 0.1.11 is breaking in two ways this repo had
to absorb:
`rain-lib-memkv` is a NEW TRANSITIVE DEPENDENCY. 0.1.11's
`RainDeployVerifySnapshotBase` imports `LibMemoryKV`, and
`recursive_deps = false` means a consumer lists its transitives itself, so
the build failed on an unresolvable import until `rain-lib-memkv 0.2.0`
was added here.
`writeSnapshot` GAINED A `root` PARAMETER, so the five-argument call in
`script/Build.sol` no longer resolved. It now passes `recordRoot()`, which
is what `regenerateLibs` in the same file already passes for the same
reason — the record root is the tree the snapshot is written under, and
threading it makes the two calls agree.
The candidate pins DO NOT move: `DecimalFloat` stays at
`0xEc632ea4...` and `LogTables` at `0xc51a1425...`. `rain-deploy` is build
and verification machinery, not part of either creation code. Confirmed by
regenerating both and diffing rather than assuming.
42 suites, 74 passing. The failures are all environment, not code: the
`*_RPC_URL` fork tests, the `DecimalFloat not deployed` prod checks that
wait on the new address being deployed, and one new 0.1.11 check,
`testSupportedNetworksAreFullyConfigured`, which reverts
`EtherscanEntryUnresolvable("arbitrum")` because
`${CI_DEPLOY_ARBITRUM_ETHERSCAN_API_KEY}` is unset locally. The config it
checks is complete — `[rpc_endpoints]` and `[etherscan]` both name the
same 9 networks as `supportedNetworks()`, verified key by key.
Lint and fmt clean.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Warning Review limit reachedNext included review available in 6 minutes. View limit detailsLimit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Advanced Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (9)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
rain-deploy0.1.11 has been published; this repo pinned 0.1.10.Not a version-number change. 0.1.11 is breaking in two ways this repo had to
absorb.
rain-lib-memkvis a new transitive dependency. 0.1.11'sRainDeployVerifySnapshotBaseimportsLibMemoryKV, andrecursive_deps = falsemeans a consumer lists its transitives itself, so the build failed on an
unresolvable import until
rain-lib-memkv 0.2.0was added here.writeSnapshotgained arootparameter, so the five-argument call inscript/Build.solno longer resolved. It now passesrecordRoot()— whichregenerateLibsin the same file already passes, for the same reason: the recordroot is the tree the snapshot is written under, and threading it makes the two
calls agree.
The candidate pins do not move
DecimalFloatstays at0xEc632ea4…andLogTablesat0xc51a1425….rain-deployis build and verification machinery, not part of either creationcode. Confirmed by regenerating both candidates and diffing before/after, not
inferred from which files the bump touched.
QA
of which failed on base and pass now. The build failed twice with distinct
errors — an unresolvable
rain-lib-memkvimport, thenMember "writeSnapshot" not found ... after argument-dependent lookup— andeach names exactly the breaking change it corresponds to. The candidate guard
passes unchanged, which is the discriminating result for the pins: had
rain-deploybeen part of either creation code, regeneration would have movedan address and the committed snapshot would now differ.
import-path rewrites, and one added argument. The added argument is the only
hand-written change and it does not compile wrong — an absent or wrongly-typed
root is a compile error, and a different root would fail the candidate guard
by writing the snapshot somewhere the guard does not read.
script/Build.sol, run beforeand after. For the API change, 0.1.11's own source:
writeSnapshot's twooverloads were read directly rather than guessed from the error, and
recordRoot()was taken fromBuildScriptrather than invented.rain-deploy".Covered: the pin, the new transitive it requires, the one call whose signature
moved, and confirmation that the deployed addresses are untouched. Nothing else
changes.
Verification
42 suites, 74 passing. Every failure is environment rather than code:
*_RPC_URLfork tests, with no env vars locally;DecimalFloat not deployedprod checks, which wait on the new address frombump rain-math-float 0.2.1 -> 0.2.4 #29 being deployed;
testSupportedNetworksAreFullyConfigured, revertingEtherscanEntryUnresolvable("arbitrum")because${CI_DEPLOY_ARBITRUM_ETHERSCAN_API_KEY}is unset here.That last one is new machinery, so I checked the config it guards rather than
assuming:
[rpc_endpoints]and[etherscan]both name the same 9 networks assupportedNetworks(), key by key. The revert is the unresolved placeholder, not amissing entry.
forge lint -D warningsandforge fmt --checkboth exit 0.🤖 Generated with Claude Code